chore(release): 0.90.0 - #669
Merged
Merged
Conversation
The '### What's-new popup *(since vNEXT)*' heading put the version gate in the heading itself, so resolving the placeholder to 0.90.0 changed the generated slug to 'whats-new-popup-since-0900' and broke the in-page link at line 138 -- and would have broken it again on every future release. Moved the '(since 0.90.0)' tag to the first body line: the anchor is now the stable 'whats-new-popup', the gate stays visible, and check_version_gates.py still sees it (it scans the whole file, not just headings).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release PR for 0.90.0. Its only job is the version bump, the changelog entry, the
vNEXTresolution and the What's new reel -- no behavior changes of its own.Scope: every PR merged since v0.89.0
The 0.89.0 tag was cut at 2026-08-23 09:43 UTC; all ten of these landed after it.
Each has its own bullet in the changelog entry (13 bullets; #658 and #665 carry two each because they shipped separable things).
The one contract change worth calling out
ErrorCode.NOT_FOUNDnow answers HTTP 404 on everykbagent serveroute (was 502, from #665). Any consumer branching on the status code alone needs updating. It is filed underChange:rather thanBREAKING:because the documented contract has always beenerror.code, and that field is unchanged -- say the word if you want it reclassified.Checklist (CONTRIBUTING > "Releasing a new version")
pyproject.toml->0.90.0changelog.py: one entry, 13 bullets, every PR above referenced, each first sentence self-contained (test_newest_release_notes_are_not_truncatedcaught two over-long headlines; both rewritten)vNEXTresolved. The release-checklist grep is intentionally NOT empty -- four hits survive and all four are prose about the placeholder mechanism, not version gates:CLAUDE.md:170,177,271anddocs/web-server.md:351. Every actual(since vNEXT)/vNEXT+behavior gate is now0.90.0.make version-sync->plugin.json,marketplace.json,uv.lockmake skill-gen-- no diff (no command signatures changed this release)keboola-expert.mdreviewed -- see belowgotchas.mdreviewed -- the twovNEXTentries feat(ui): shareable deep links, rendered detail views, component-detail 502 fix #665/fix(component): omitted --project resolves to first configured project #666 left are now tagged0.90.0; nothing else this release needs a new entryCLAUDE.mdcommand list +commands-reference.md-- no new commands or flags beyondserve --no-banner, which feat(serve,ui): what's-new popup with --no-banner opt-out #663 already documented in bothmake checkclean: 6029 passed, 12 skippedmake test-e2e-- not run here (needsE2E_API_TOKEN/E2E_URL). No CLI command signature changed this release, so the e2e surface is unchanged; run it if you'd rather not take that on faith.Plugin / doc files touched (no CI coverage -- please eyeball)
plugins/kbagent/.claude-plugin/plugin.json-- version (auto).claude-plugin/marketplace.json-- version (auto)plugins/kbagent/skills/kbagent/references/gotchas.md--vNEXT->0.90.0(5 occurrences, 2 entries)plugins/kbagent/skills/kbagent/references/commands-reference.md--vNEXT->0.90.0(3 lines)plugins/kbagent/agents/keboola-expert.md-- one new inline gotcha (§3):component detail's Storage-catalog fallback always reportsexamples_count: 0, which reads as "this component ships no examples" when it actually means "this source carries none". Before feat(ui): shareable deep links, rendered detail views, component-detail 502 fix #665 the same call errored, so the wrong conclusion is new. 50 988 B of the 70 000 B budget.CLAUDE.md--vNEXT->0.90.0on the two behavior gates (lines 721, 968)docs/web-server.md--vNEXT->0.90.0on four behavior gatessrc/keboola_agent_cli/commands/context.py--vNEXT->0.90.0(2)web/frontend/src/whatsnew.ts-- new curated reel for 0.90.0, 7 items led by deep links and the storage-aware palette. Required by feat(serve,ui): what's-new popup with --no-banner opt-out #663's contract: without itwhatsNewForfalls back to the 0.89.0 entry, whose seen-marker most users have already set, so the release would ship its UI work dark.Verification
make check-- 6029 passed, 12 skipped. Clean lint/format/typecheck/skill/version/version-gate/command-sync/changelog/error-codes/sentinel-guards/loc.frontend.yml, new in ci: gate web/frontend PRs on tsc --noEmit + vite build #661) run locally inweb/frontend:tsc --noEmitclean,vitest run53 passed (3 files),vite buildOK.kbagent changelog --limit 2renders the 0.90.0 headline correctly.tyunresolved-importwarning onscripts/hatch_build.py:66(hatchling not a dev dep) is pre-existing -- verified identical onmainat this base;make typecheckexits 0.After merge
Tag the resulting
maincommit and publish -- the pipeline renders the release notes from the changelog entry viascripts/gen_release_notes.py.